Method and apparatus for displaying differences in the characteristics of multiple versions of an entertainment program

ABSTRACT

A method and apparatus for displaying differences in the characteristics of multiple versions of an entertainment program includes receiving entertainment programming input, identifying multiple versions of an available entertainment program, identifying, for each of the multiple versions, a set of descriptive information regarding the respective version, the descriptive information comprising a plurality of characteristics of the respective version, identifying the differences in characteristics between the multiple versions displaying the differences in characteristics between the multiple versions to a user.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a division of prior application Ser. No.09/183,277, filed Oct. 30, 1998, the priority of which is herebyclaimed.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention pertains to the field of entertainment systems.More particularly, this invention relates to selecting from multipleversions of a television program for display in an entertainment system.

2. Background

A recent trend in the electronics and computer industry is theconvergence of computer systems and more traditional entertainmentsystem components. Such convergence allows an increasingly broad rangeof information to be made available for system users over and above thebroadcast television programming which has long been provided viaconventional televisions. Accompanying this convergence is the expansionof television programming transport media (e.g., the mechanism or “pipe”via which the programming is transported to the television). Whileanalog broadcasts and analog cable were once the standard transportmedia for television programming, digital cable and digital satellitesystems are becoming more and more commonplace. Additionally, othertransport media, such as digital broadcasts, are starting to appear asoptions for viewers.

Using different transport media has increased the number of sources fromwhich television programming can be received, and thus has alsoincreased the number of television programs available for viewing. Theseincreases are due to both the increase in number of transport media, aswell as the additional bandwidth capabilities of some of the newer typesof transport media. Additionally, other “local” sources (e.g., videocassette recorders) can also supply programming, thereby furtherincreasing the programming options available to users.

One problem facing users with these increased television programmingoptions is the possibility for the receipt of multiple versions ofessentially the same program from multiple sources. For example, twodifferent sources may be broadcasting the same movie at approximatelythe same time. Differences may exist between these multiple versions andbecause of these differences a user may prefer to view one over theother. However, given the large selection of television programmingoptions available to the user, locating such different versions can bedifficult. Furthermore, the ability for the user to know which versionhe or she prefers is often difficult, as these differences are typicallynot made available to the user.

Therefore, a need exists for an improved way to select from multipleversions of a television program.

SUMMARY OF THE INVENTION

A method and apparatus for selecting from multiple versions of atelevision program is described herein. According to one aspect of thepresent invention, a computerized method includes identifying multipleversions of a television program that are available from one or moredifferent sources, and displaying a selected one of the multipleversions of the television program.

According to one aspect of the present invention, an article includes astorage medium, the storage medium having stored thereon a plurality ofinstructions that, when executed by a processor, result in identifyingmultiple versions of a television program that are available from one ormore different sources, and displaying a selected one of the multipleversions of the television program.

According to one aspect of the present invention, an apparatus includesa selection controller to identify multiple versions of a televisionprogram that are available from one or more different sources, and adevice controller, coupled to the selection controller, to display aselected one of the multiple versions of the television program.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements and in which:

FIG. 1 is a block diagram illustrating the system components of anexemplary entertainment system in which one embodiment of the presentinvention may be practiced;

FIG. 2 is a block diagram illustrating the architecture of a systemcontroller according to one embodiment of the present invention;

FIG. 3 is a flowchart illustrating the process of selecting frommultiple versions of a program according to one embodiment of thepresent invention;

FIG. 4 illustrates the information stored in an electronic programmingguide according to one embodiment of the present invention; and

FIG. 5 illustrates one embodiment of a computing device suitable for usewith the present invention.

DETAILED DESCRIPTION

In the following detailed description numerous specific details are setforth in order to provide a thorough understanding of the presentinvention. However, it will be understood by those skilled in the artthat the present invention may be practiced without these specificdetails. In other instances well known methods, procedures, components,and circuits have not been described in detail so as not to obscure thepresent invention.

Parts of the description will be presented in terms of operationsperformed by a computer system, using terms such as data, flags, bits,values, characters, strings, numbers and the like, consistent with themanner commonly employed by those skilled in the art to convey thesubstance of their work to others skilled in the art. As is wellunderstood by those skilled in the art, these quantities take the formof electrical, magnetic, or optical signals capable of being stored,transferred, combined, and otherwise manipulated through mechanical andelectrical components of the computer system; and the term computersystem includes general purpose as well as special purpose dataprocessing machines, systems, and the like, that are standalone, adjunctor embedded.

Additionally, various operations will be described as multiple discretesteps in turn in a manner that is helpful in understanding the presentinvention. However, the order of description should not be construed asto imply that these operations are necessarily order dependent, inparticular, the order of their presentations.

The present invention provides a method and apparatus for selecting frommultiple versions of a television program. Different versions of atelevision program may be available to a user, and each version may havedifferent characteristics, such as being in different languages, viewingformats, etc. The present invention identifies different versions of aprogram and selects, either automatically or in response to user input,one of the multiple versions for display.

As used herein, a “program” or “television program” refers to a videostream intended to be displayed on a television or other display device.The video stream may also include audio signals to be played inconjunction with the video, and may also include various otherinformation (closed captioning data, etc.). A “version” of a programrefers to a particular transmission of the program, having particularcharacteristics, provided from a source(s). Different versions of aprogram can have different characteristics, including different videoquality, audio quality, etc. Examples of programs include movies,television sitcoms, etc. Examples of different versions of a programinclude a movie transmitted in letterbox format, the same movietransmitted in standard television format, the same movie transmitted in“director's cut” version, etc.

FIG. 1 is a block diagram illustrating the system components of anexemplary entertainment system in which one embodiment of the presentinvention may be practiced. System 100 includes television/displaydevice 102, video recorder/playback device 106, digital video disk (DVD,also referred to as digital versatile disk) recorder/playback device114, audio/video tuner and/or amplifier 110, audio playback/recorderdevice 122, and compact disc (CD) player 112, all coupled to a commoninput/output (I/O) bus 108. It is to be appreciated that the use of thecommon I/O bus 108 is for ease of explanation in the diagram only, andthat a number of alternative means of routing input and output signalsmay be beneficially employed. For example, audio input and output couldbe routed with an appropriate number of independent audio “patch”cables, video signals may be routed with independent coaxial cables, andcontrol signals may be routed along a two-wire serial line, or throughinfrared (IR) communication signals or radio frequency (RF)communication signals. By way of further example, audio, video, and/orcontrol signals may also be routed along one or more buses in accordancewith the Universal Serial Bus Specification, Revision 1.0 (Jan. 15,1996), or the High Performance Serial Bus IEEE Standard 1394, IEEE std.1394–1995, draft 8.0v3, approved Dec. 12, 1995.

In addition, system 100 includes speaker system 116, microphone 118,video camera 120 and a wireless input/output control device 132. In oneembodiment, wireless I/O control device 132 is an entertainment systemremote control unit which communicates with the components of system 100through IR signals. In another embodiment, wireless I/O control device132 may be a wireless keyboard and/or cursor control device thatcommunicates with the components of system 100 through IR signals or RFsignals. In yet another embodiment, wireless I/O control device 132 maybe an IR or RF remote control device similar in appearance to a typicalentertainment system remote control with the added feature of atrack-ball or other cursor control mechanism that allows a user toposition a cursor on a display of system 100.

At the core of system 100 is system controller 104 incorporated with thefeatures of the present invention, configured to control a variety offeatures associated with the system components. As depicted, systemcontroller 104 is coupled to each of the system components, asnecessary, through I/O bus 108. In one embodiment, in addition to or inplace of I/O bus 108, system controller 104 may be configured with awireless communications transmitter (or transceiver), which is capableof communicating with the system components via IR signals or RF signals108′. Regardless of the control medium, system controller 104 isconfigured to control each of the entertainment system components ofsystem 100, although it is understood that each of the components may beindividually controlled with wireless I/O device 132.

System controller 104 retrieves and stores entertainment programminginformation available from a wide variety of sources. During operationof system 100, system controller 104 dynamically configures theoperating parameters of system 100 and offers additional value addedfeatures to enhance the user's enjoyment of system 100, as discussed inmore detail below. In one embodiment, system controller 104 may be acomputer system incorporated with the teachings of the presentinvention, as will be discussed in further detail below. In anotherembodiment, system controller 104 may be a “set-top” box endowed withthe necessary processing power and incorporated with the teachings ofthe present invention. Regardless of the particular embodiment, systemcontroller 104 may also be referred to as a “convergence system”designed to integrate the world of entertainment systems and computingplatforms to achieve the beneficial results discussed in greater detailbelow.

Although the present invention is described in the context of theexemplary embodiments presented in the figures, based on thedescriptions to follow, those skilled in the art will appreciate thatthe present invention is not limited to these embodiments and may bepracticed in a variety of alternate embodiments. Accordingly, theinnovative features of the present invention may be practiced in asystem of greater or lesser complexity than that of the system depictedin FIG. 1. By way of example, devices may be added to system 100, ordevices (e.g., video camera 120, microphone 118, DVD recorder/playbackdevice 114, etc.) may be removed from system 100.

As illustrated in FIG. 1, system 100 can be configured to receiveaudio/video programming input via a wide variety of transport media. Inone embodiment, system 100 receives programming input via any or all ofthe following transport media: cable broadcast 124, satellite broadcast126 (e.g., via a satellite dish), very high frequency (VHF) or ultrahigh frequency (UHF) radio frequency communication of the broadcastnetworks 134 (e.g., via an aerial antenna), and/or thetelephone/computer network interface 128. Further, it will beappreciated by those skilled in the art that cable broadcast input 124,satellite broadcast input 126 and VHF/UHF input 134 may include analogand/or digital programming (e.g., digital high definition television(HDTV) programming). Additionally, audio/video programming may bereceived from a CD-ROM, DVD, or other digital or analog storage devicevia a playback device of system 100 (e.g., DVD recorder/playback device114). The Internet, an entertainment network, or other network may alsoprovide audio/video programming, via, for example, interface 128.

In addition to programming input, system 1100 is also configured with anumber of general purpose control outputs 130 which may be configured tocontrol any number of devices. In one embodiment, for example, as systemcontroller 104 configures system 100 to display a movie, it may also dimthe lights in the room to a predetermined level to further enhance theviewing environment. Control circuitry which allows a computing deviceto control, for example, lighting, thermostat settings, and otherhousehold appliances (via, for example, the electrical wiring in ahouse) are well known in the art and thus will not be described further.

Except for the incorporated teachings of the present invention (to bemore fully described below), system controller 104 is intended torepresent a broad category of computing devices known in the art. Anexample of such a computing device is a desktop computer system equippedwith a high performance microprocessor(s), such as the Pentium®processor, Pentium® Pro processor, or Pentium® II processor manufacturedby and commonly available from Intel Corporation of Santa Clara, Calif.Another example of such a computing device is an Internet “appliance”device, such as a WebTV™ Internet Terminal available from SonyElectronics Inc. of Park Ridge, N.J., or Philips Consumer ElectronicsCompany of Knoxville, Tenn. It is to be appreciated that the housingsize and design for system controller 104 may be altered, allowing it tobetter visually fit into system 100.

It is also to be appreciated that the several entertainment systemcomponents depicted in FIG. 1 can be beneficially combined. By way ofexample, system controller 104 could be integrated intotelevision/display device 102, DVD recorder/playback device 114, oraudio/video tuner and amplifier 110.

FIG. 2 is a block diagram illustrating the architecture of a systemcontroller according to one embodiment of the present invention.According to one implementation, system controller 104 of FIG. 1 is asystem controller 200 of FIG. 2. As illustrated, system controller 200includes operating system 202, device controller 204, electronicprogramming guide (EPG) controller 206, program selection controller208, and user interface (UI) controller 210. Operating system 202represents any of a wide variety of conventional operating systems (suchas the Windows™ 95 or Windows™ 98 operating systems available fromMicrosoft Corporation of Redmond, Wash.), and operates to allow thecontrollers 204–210 to communicate with one another. Additionally,communication with other components within an entertainment system canalso be provided by operating system 202, such as with the componentsillustrated in FIG. 1.

Device controller 204 controls the various components within theentertainment system, such as those illustrated in FIG. 1. Commands tochange the various parameters of the components, such as channelselection or volume control, are sent to those components from devicecontroller 204.

EPG controller 206 controls access to electronic programming guide (EPG)212. EPG 212 is typically stored on a storage device within theentertainment system (such as a magnetic or optical disk), with selectedportions being temporarily stored in system memory (such as randomaccess memory). EPG controller 206 accesses EPG 212 and displaysrequested EPG data on a display device (e.g., device 102 of FIG. 1). EPGcontroller 206 services requests for information from the EPG from othercomponents of controller 200, such as UI controller 210 and programselection controller 208.

Program selection controller 208 receives inputs from UI controller 210regarding programs being displayed, as well as selections, if any, madeby a user of the entertainment system. Program selection controller 208accesses EPG 212 via EPG controller 206 to identify multiple versions ofprograms. Program selection controller 208 also selects which ofmultiple versions is to be displayed to the user. The selection frommultiple versions of a program is discussed in more detail below.

According to one embodiment of the present invention, system controller200 also includes user preferences 214. User preferences 214 identifypreferred viewing options and/or viewing habits of the user(s) of theentertainment system. This preference information can be manually inputto the system by the user(s), or alternatively can be generated bycontroller 200 based on monitored viewing behavior, or alternatively canbe provided by another device (e.g., from a remote server). According toone implementation, program selection controller 208 utilizes userpreferences 214 in selecting from multiple versions of a program, asdiscussed in more detail below.

According to one embodiment of the present invention, different usershaving different user preferences can use the system. Thus, in thisembodiment, if the system is automatically selecting one of the multipleversions of program, then the system identifies the particular userprior to selecting one of the different versions in order to know theproper user preferences for comparison to program versioncharacteristics. Identification of a particular user can be made in anyof a variety of conventional manners, such as by a user id log-inprocess, voice recognition, etc. Alternatively, separate userpreferences may not be maintained by the system. In this alternateembodiment a single global user preference is used for all system userswhen automatic selection is employed.

FIG. 3 is a flowchart illustrating the process of selecting frommultiple versions of a program according to one embodiment of thepresent invention. An initial program selection is received by programselection controller 208 of FIG. 2 (for example, via user interfacecontroller 210), step 302. This selection can be made in any of a widevariety of conventional manners, such as selection of a particularprogram from an EPG displayed on-screen. Selections could also be madein alternate manners, such as by input of a particular numericalchannel, or selection of a channel control option (e.g., up or downarrows on a remote control device).

When a program selection is made, program selection controller 208identifies alternate versions, if any, of the selected program, step304. This identification process is carried out by accessing EPG 212 ofFIG. 2. Program selection controller 208 searches through the data ofEPG 212 for different versions of the program that start within athreshold period of time of the start of the version corresponding tothe original program selection. Typically, this threshold period of timeis zero. However, in alternate implementations the period of time canrange from zero (indicating the versions have the same start time) up toa maximum (e.g., five minutes) that can be user-definable. According toone implementation, different versions of a program are identified bysearching EPG 212 for additional entries having the same identifier(e.g., movie title, sitcom name and episode number, etc.). It should benoted that the alternate versions of a program may be from differentsources, or multiple versions may be available from the same source.

Upon completing the search of EPG 212, program selection controller 208checks whether any alternate versions were identified, step 306. If noalternate versions were identified, then the process ends. However, ifalternate versions were identified, then the operation of programselection controller 208 depends on whether controller 208 is configuredto perform automatic or manual selection of alternate versions, step308. According to one implementation, this configuration isuser-definable. Alternatively, program selection controller 208 may bepre-configured to provide only manual or automatic selection.

If program selection controller 208 is configured to perform manualselection, then program selection controller 208 provides the user withthe alternate versions, step 310. This provision can be in any of a widevariety of manners, such as displaying the options in a separate box orwindow on the display device, overlaying the current video display withthe options, etc. Additionally, in one implementation, program selectioncontroller 208 displays all the characteristics for each version toallow the user to make an informed decision as to which version ispreferred. Alternatively, program selection controller 208 identifiesthe differences in characteristics between the different versions andhi-lights, or only displays, those differences.

Program selection controller 208 then waits to receive a user selectionof one of the versions, step 312. System controller 200 then “tunes” tothe appropriate source and/or channel for the selected version, step314. It is to be appreciated that this source and/or channel can be fromany of multiple components or sources, such as those illustrated in FIG.1.

Returning to step 308, if program selection controller 208 is configuredto perform automatic selection, then program selection controller 208automatically selects one of the versions based on user preferences 214,step 316. Program selection controller 208 compares the characteristicsof each of the multiple versions of the program to the user preferences214. The version having the most characteristics that conform to theuser preferences 214 is then selected. System controller 200 then“tunes” to the appropriate source and/or channel for the selectedversion, step 314.

FIG. 4 illustrates the information stored in an electronic programmingguide according to one embodiment of the present invention. In theillustrated embodiment, the EPG includes information regarding allprograms that are available to the entertainment system. For ease ofexplanation, the information in the EPG is illustrated as table 400.However, it is to be appreciated that the information can be stored inany of a variety of conventional manners using any of a wide variety ofdata storage structures, such as one or more linked lists, one or morearrays, etc.

Each entry in table 400 includes various descriptive informationregarding a particular program. This information includes a sourceidentifier 402, channel transport medium 404, channel audio support 406,date 408, start time 410, program description 412, and multiple (n)program characteristics 414.

Source identifier 402 identifies the source of the program. This sourcecan be a particular channel that can be tuned to (e.g., analog ordigital broadcasts channels, cable channels, satellite broadcastchannels, etc.), as well as other sources within the entertainmentsystem that can provide programs (e.g., DVDs, video cassettes, webserver addresses (such as servers on the Internet), etc.). Programs fromsuch other devices would include, for example, movies on DVD or cassettethat have been purchased or rented by a user and thus are available forthe user's viewing. When a particular program is selected for viewing bya user, system controller 104 of FIG. 1 activates and “tunes” theappropriate devices, as necessary, for the identified source to bedisplayed on display device 102.

Channel transport medium 404 identifies the transport medium used by thesource. Examples of such transport media include, but are not limitedto, analog broadcast, digital broadcast, analog cable, digital cable,satellite, network (e.g., the Internet), digital video disk, and analogvideo cassette.

Channel audio support 406 identifies the types of audio that aresupported by the source. Examples of such audio types include, but arenot limited to, mono, stereo, Dolby™ Surround, Dolby™ Digital, Dolby™Surround Pro Logic, Dolby™ AC3 Stereo, and THX™. It should be noted thatthe audio types supported by the source do not necessarily indicate theaudio type used for a particular program. For example, a program may bebroadcast in stereo even though the source support Dolby AC3™.

Date 408 identifies the date on which the program is available.Similarly, start time 410 identifies the time on that date at which theprogram begins. It should be noted that, depending on the source,different “wild cards” for date and start time can be used. For example,if the source is a video on demand source then the program may beavailable at any start time over a particular date period (e.g., duringa particular month). By way of another example, if the source is DVD,then the program may be available at any time on any date.

Program description 412 provides a brief description of the program.This description can include information such as title, summary,actors/actresses, etc. Such information can be displayed to a user uponrequest.

Program characteristics 414 are multiple (n) characteristics regardingthe program. The same or different characteristics may be stored foreach of the different programs. These characteristics 414 can be used indetermining which of multiple versions of a program is to be displayedto a user as discussed above. Examples of program characteristics thatmay be stored for each of the different programs include, but are notlimited to: program duration (the program duration can be compared withthe actual broadcast time for the program in order to determine theamount of commercial or pledge-break time inserted into the program),the availability of alternate audio (e.g., second audio program (SAP)),type of audio support for the program (e.g., mono, stereo, Dolby™Surround, Dolby™ Digital, Dolby™ Surround Pro Logic, Dolby™ AC3 Stereo,and THX™), availability of enhanced programming (such as by the verticalblanking interval or digital simulcast, such as Intercast™ programmingor Microsoft ETV), program rating (e.g., TVG, TV14, TVMA, etc.),language of subtitles, language of dubbing, language spoken in theprogram, screen format (e.g., standard TV or letterbox), whether theprogram is a director's cut version, availability of descriptive videoservice (e.g., a descriptive narration for sight-impaired viewers),availability of closed captioning, and color code (e.g., black andwhite, color, colorized).

Any of the information stored in the electronic programming guide can beused as a basis for distinguishing between different versions of aprogram. For example, particular audio quality levels or viewing formats(e.g., letterbox) may be preferred by a particular user. By way ofanother example, programs with fewer or no commercials (that is, thosewith shorter durations), or programs in a particular language may bepreferred by a particular user. By way of yet another example, programsfrom particular sources, such as “free” broadcasts versus video ondemand or a particular local broadcast channel may be preferred by aparticular user.

FIG. 5 illustrates one embodiment of a computing device suitable for usewith the present invention. According to one implementation, systemcontroller 104 of FIG. 1 is a computing device 500 of FIG. 5. In theillustrated embodiment of FIG. 5, device 500 includes processor 502 andcache memory 504 coupled to each other as shown. Additionally, device500 includes high performance input/output (I/O) bus 506 and standardI/O bus 508. Host bridge 510 couples processor 502 to high performanceI/O bus 506, whereas I/O bus bridge 512 couples the two buses 506 and508 to each other. Coupled to bus 506 are network/communicationinterface 524 and system memory 514. Coupled to bus 508 is mass storage520, keyboard and pointing device 522, and I/O ports 526. Collectively,these elements are intended to represent a broad category of hardwaresystems, including but not limited to general purpose computer systemsbased on the Pentium® processor, Pentium® Pro processor, or Pentium® IIprocessor, manufactured by Intel Corporation of Santa Clara, Calif.

In one embodiment, various electronic devices are also coupled to highperformance I/O bus 506. As illustrated, analog tuner/digitalsatellite/cable devices 528, are also coupled to high performance I/Obus 506 to allow device 500 to “tune” to various programming inputchannels.

These elements 502–528 perform their conventional functions known in theart. In particular, network/communication interface 524 is used toprovide communication between device 500 and any of a wide range ofconventional networks, such as an Ethernet, token ring, the Internet,etc. It is to be appreciated that the circuitry of interface 524 isdependent on the type of network the device 500 is being coupled to.

Mass storage 520 is used to provide permanent storage for the data andprogramming instructions to implement the above described functions,whereas system memory 514 is used to provide temporary storage for thedata and programming instructions when executed by processor 502. I/Oports 526 are one or more serial and/or parallel communication portsused to provide communication between additional peripheral deviceswhich may be coupled to device 500.

It is to be appreciated that various components of device 500 may bere-arranged. For example, cache 504 may be on-chip with processor 502.Alternatively, cache 504 and processor 502 may be packaged together as a“processor module”, with processor 502 being referred to as the“processor core”. Furthermore, certain implementations of the presentinvention may not require nor include all of the above components. Forexample, mass storage 520, keyboard and pointing device 522, and/ornetwork/communication interface 524 may not be included in device 500.Additionally, the peripheral devices shown coupled to standard I/O bus508 may be coupled to high performance I/O bus 506; in addition, in someimplementations only a single bus may exist with the components ofdevice 500 being coupled to the single bus. Furthermore, additionalcomponents may be included in device 500, such as additional processors,storage devices, or memories.

In one embodiment, the method and apparatus for selecting from multipleversions of a television program according to the present invention asdiscussed above is implemented as a series of software routines run bydevice 500 of FIG. 5. In this embodiment, controllers 204–210 of FIG. 2are each implemented as a series of software routines. These softwareroutines comprise a plurality or series of instructions to be executedby a processor in a hardware system, such as processor 502 of FIG. 5.Initially, the series of instructions are stored on a storage device,such as mass storage 520. It is to be appreciated that the series ofinstructions can be stored using any conventional storage medium, suchas a diskette, CD-ROM, magnetic tape, DVD, laser disk, ROM, Flashmemory, etc. It is also to be appreciated that the series ofinstructions need not be stored locally, and could be received from aremote storage device, such as a server on a network, vianetwork/communication interface 524. The instructions are copied fromthe storage device, such as mass storage 520, into memory 514 and thenaccessed and executed by processor 502. In one implementation, thesesoftware routines are written in the C++ programming language. It is tobe appreciated, however, that these routines may be implemented in anyof a wide variety of programming languages.

In alternate embodiments, the present invention is implemented indiscrete hardware or firmware. For example, one or more applicationspecific integrated circuits (ASICs) could be programmed with the abovedescribed functions of the present invention. By way of another example,controllers 204–210 of FIG. 2 could be implemented in one or more ASICsof an additional circuit board for insertion into hardware system 500 ofFIG. 5.

In the discussions above, reference is made to multiple version optionsbeing displayed to a user after all version options have been identifiedby program selection controller 208 of FIG. 2. According to alternateembodiments, different methodologies may be used in displaying versionoptions to a user. According to one such alternate embodiment,indications of different versions are displayed to a user as theversions are identified. According to another embodiment, as soon as anexact match between user preferences and program version characteristicsis made, the matching program is displayed to the user (no furthersearching need be performed).

Thus, it can be seen that the method and apparatus of the presentinvention advantageously identifies multiple versions of a televisionprogram and provides one of those versions for display. The presentinvention can advantageously locate other versions of a program from awide variety of sources that more closely conform to the user'spreferences, and thus make the user's viewing of the program moreenjoyable.

Thus, a method and apparatus for selecting from multiple versions of atelevision program has been described. Whereas many alterations andmodifications of the present invention will be comprehended by a personskilled in the art after having read the foregoing description, it is tobe understood that the particular embodiments shown and described by wayof illustration are in no way intended to be considered limiting.References to details of particular embodiments are not intended tolimit the scope of the claims.

1. A method comprising: receiving entertainment programming input;identifying multiple versions of an available entertainment program;identifying, for each of the multiple versions, a set of descriptiveinformation regarding the respective version, the descriptiveinformation comprising a plurality of video and audio qualitycharacteristics of the respective version; identifying the differencesin characteristics between the multiple versions; and displayingcharacteristics of the identified multiple versions and highlighting thedifferences in characteristics between the multiple versions to a user.2. The method of claim 1, wherein highlighting the differences comprisesdisplaying only the identified differences in characteristics.
 3. Themethod of claim 1, wherein the characteristics further comprise at leastone of a source identifier, a channel transport medium, programduration, pricing, enhanced programming availability, closed captioningavailability, language of subtitles in the version and language spokenin the version.
 4. The method of claim 1, further comprising: receivinga selection from the user identifying one of the plurality of themultiple versions; and displaying the multiple version corresponding tothe user selection.
 5. The method of claim 1, wherein the multipleversions are available using different channel transport media themethod further comprising displaying an identification of the channeltransport medium for each respective version.
 6. The method of claim 1,wherein the channel transport media include one or more of cablebroadcast, satellite broadcast, radio frequency broadcast, telephoneinterface, computer network interface, CD-ROM, video disk, and videocassette.
 7. The method of claim 1, wherein identifying multipleversions comprises searching through data of an electronic programmingguide.
 8. The method of claim 1, wherein the video qualitycharacteristics comprise at least one of letterbox format, standardtelevision format and director's cut version.
 9. The method of claim 1,wherein the audio quality characteristics comprise at least one of mono,stereo, surround, digital stereo and digital surround.
 10. Acomputer-readable medium having stored thereon a plurality ofcomputer-readable instructions that, when executed by a computer resultin: receiving entertainment programming input; identifying multipleversions of an available entertainment program; identifying, for each ofthe multiple versions, a set of descriptive information regarding therespective version, the descriptive information comprising a pluralityof video and audio quality characteristics of the respective version;identifying the differences in characteristics between the multipleversions; and displaying characteristics of the identified multipleversions and highlighting the differences in characteristics between themultiple versions to a user.
 11. The computer-readable medium of claim9, wherein the plurality of instructions which when executed by theprocessor, result in highlighting the differences, further result indisplaying only the identified differences in characteristics.
 12. Thecomputer-readable medium of claim 10, wherein the characteristicsfurther comprise at least one of a source identifier, a channeltransport medium, program duration, pricing, enhanced programmingavailability, closed captioning availability, language of subtitles inthe version and language spoken in the version.
 13. Thecomputer-readable medium of claim 10, wherein the plurality ofinstructions, when executed by the processor, further result inreceiving a selection from the user identifying one of the multipleversions, and displaying the multiple version corresponding to the userselection.
 14. The computer-readable medium of claim 10, wherein themultiple versions are available using different channel transport mediaand wherein the plurality of instructions, when executed by theprocessor, further result in displaying an identification of the channeltransport medium for each respective version.
 15. The computer-readablemedium of claim 10, wherein the channel transport media include one ormore of cable broadcast, satellite broadcast, radio frequency broadcast,telephone interface, computer network interface, CD-ROM, video disk, andvideo cassette.
 16. The computer-readable medium of claim 10, whereinthe plurality of instructions, which when executed by the processor,result in identifying multiple versions comprise searching through dataof an electronic programming guide.
 17. An apparatus comprising: aprogram guide controller to receive entertainment programming input; aselection controller coupled to the program guide controller to identifymultiple available versions of an entertainment program, to identify,for each of the multiple versions, a set of descriptive informationregarding the respective version, the descriptive information comprisinga plurality of video and audio quality characteristics of the respectiveversion and to identify the differences in characteristics between themultiple versions; and a device controller, coupled to the selectioncontroller, to display characteristics of the multiple versions and tohighlight the differences in characteristics between the multipleversions to a user.
 18. The apparatus of claim 17, wherein the devicecontroller in highlighting the differences is to display only theidentified differences in characteristics.
 19. The apparatus of claim17, wherein the characteristics further comprise at least one of asource identifier, a channel transport medium, program duration,pricing, enhanced programming availability, closed captioningavailability, language of subtitles in the version and language spokenin the version.
 20. The apparatus of claim 17, further comprising a userinterface controller to receive a selection from the user identifyingone of the plurality of the multiple versions; and wherein the devicecontroller is further to display the multiple version corresponding tothe user selection.
 21. The apparatus of claim 17, wherein the multipleversions are available using different channel transport media andwherein the device controller is further to display an identification ofthe channel transport medium for each respective version.
 22. Theapparatus of claim 17, wherein the channel transport media include oneor more of cable broadcast, satellite broadcast, radio frequencybroadcast, telephone interface, computer network interface, CD-ROM,video disk, and video cassette.